Page({
  data: {
    url: '',
  },

  choosePhoto() {
    // wx.chooseImage({
    //   count: 1,
    //   sourceType: ['album'],
    //   success: (res) => {
    //     console.log('res', res)
    //     // res.tempFilePaths    ['临时文件的路径']
    //     // res.tempFiles        [{path: '临时文件的路径', size: '文件的大小'}]

    //     // 临时文件路径可以直接用作 image 的 src
    //     this.setData({
    //       url: res.tempFilePaths[0]
    //     })

    //     this.uploadFile(res.tempFilePaths[0], 'file')
    //   }
    // })

    // chooseImage 不维护了（还能用）， 但推荐换成 chooseMeida
    wx.chooseMedia({
      success: async (res) => {
        console.log('res', res)
        // res.tempFiles [{fileType: '文件类型', size: '文件大小', tempFilePath: '临时文件路径'}]
        const url = await this.uploadFile(res.tempFiles[0].tempFilePath, 'file')
        this.setData({url})
        //  1. 直接使用接口返回值来玩
        //  2. 直接使用临时文件路径来使用
        // this.setData({
        //   url: res.tempFiles[0].tempFilePath
        // })
      }
    })
  },

  uploadFile(filePath, name) {
    return new Promise((resolve, reject) => {
      // 调用 wx.uploadFile()
      wx.uploadFile({
        filePath, // 临时文件路径
        name, // 接口需要的参数名字
        url: 'http://localhost:8001/admin/base/comm/upload', // 接口地址
        header: {
          'Authorization': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc1JlZnJlc2giOmZhbHNlLCJyb2xlSWRzIjpbIjEiXSwidXNlcm5hbWUiOiJhZG1pbiIsInVzZXJJZCI6MSwicGFzc3dvcmRWZXJzaW9uIjo3LCJpYXQiOjE2ODg0NjQyNzgsImV4cCI6MTY4ODQ3MTQ3OH0.y32NMiXeSFYWoYeroF63MOy-jQTdcbm5nxHfLki-hO8'
        },
        success: (res) => {
          console.log('上传成功', res)
          // res.data 是接口返回值，是一个字符串，需要做转换
          const data = JSON.parse(res.data)
          // 成功
          resolve(data.data)
        },
        fail: (res) => {
          reject(res)
        }
      })
    })
    
  },

  async choosePhoto2() {
    // 官方有一些 API 是支持 promise 风格调用的。
    //    这时，不要传递 success fail complete
    //         await 返回值就是 success 回调的参数
    const data = await wx.chooseMedia()
    console.log('data', data)
  },

  getSelectComponent() {
    const child = this.selectComponent('#my-navbar')
    console.log('child', child)
    child.increment()
  }
})